In [1]:
%matplotlib inline
%config InlineBackend.figure_format='retina'

import matplotlib
import matplotlib.pyplot as plt
import string
import scipy
import Tkinter, tkFileDialog
import numpy as np
import pandas as pd
from scipy.spatial.distance import cdist
import os
import sys
import glob
import cPickle
sys.path.append(os.path.abspath("C:\Users\Scherer Lab E\Documents\GitHub\Python_Data_Analysis"))
from common_functions import *
plt.rcParams['figure.figsize']=[4,3]
C:\Users\Scherer Lab E\Anaconda2\lib\site-packages\skimage\viewer\utils\core.py:10: UserWarning: Recommended matplotlib backend is `Agg` for full skimage.viewer functionality.
  warn("Recommended matplotlib backend is `Agg` for full "
In [3]:
store = pd.HDFStore("K:\Pat's_Projects\ParticleTrajectoryData\driven_optical_matter.h5")
In [4]:
data_index = store.index[(store.index['experiment'] == 'Exp11201301') | (store.index['experiment'] == 'Exp12031301')]
In [8]:
def plot_nn_dist_par_perp(data_frame,fit_params,plot_name):
    ang_sep,ang_bins=nn_distance_angle_seperation_ver_2(data_frame,8,1)
    print len(ang_sep)
    ang_sep=np.array([np.concatenate((ang_sep[v],ang_sep[v+4])) for v in range(len(ang_sep)/2)])
    um_conv=6.5/60/1.6/2
    print len(ang_sep)
    ang_sep_conv=ang_sep*um_conv
    #labels=['Parellel','Perpendicular']
    print ang_bins
    #print ang_sep
    labels=[str(v[0])+'-'+str(v[1]) for v in ang_bins]
    plt.figure(figsize=[4,3])
    n,b,p=plt.hist([v for v in ang_sep_conv],bins=100,
                   range=(0,3),normed=True,histtype='step',label=labels)
    plt.legend()
    plt.xlabel('Seperation (um)')
    plt.ylabel('Probability Density')
    plt.title(plot_name)
#     fig_dir="J:\Pat's Projects\Dynamical Phase Transition\Figures for Paper\\nn_histogram_comparison\\"
#     plt.savefig(fig_dir+plot_name[:-4]+".png", dpi=200)
    plt.show()
In [9]:
def filter_stuck_particle_at_top(data_frame):
    '''Used to filter out the location where particles slow down or pause in
    Exp12031301 movies Mov_12031311 and Mov_12031312'''
    x_lim = (data_frame['x pos'] < 167) | (data_frame['x pos'] > 167+20)
    y_lim = (data_frame['y pos'] < 305) | (data_frame['y pos'] > 307-15)
    return data_frame[x_lim & y_lim]

def filter_attached_particles(data_frame, um_conv, min_size):
    '''Used to filter out the particle pair aggregate in Exp12031201 movies
    Mov_12031304 and Mov_12031305'''
    df = data_frame.copy()
    df['nn_dist_um'] = df['nn_dist']*um_conv
    second_nn = (df['nn_num'] == 1) & (df['nn_dist_um'] < min_size)
    second_nn_sorted = df[second_nn].sort(columns=['frame', 'nn_dist_um'])
    first_2_each_frame = second_nn_sorted.groupby('frame').head(2)
    df = df.drop(first_2_each_frame.index)
    df = df.drop('nn_dist_um', axis=1)
    return df
In [8]:
'''Over glass Low L (L=0-2)'''
gl_low_l = data_index[(data_index['substrate'] == 'glass') & (data_index['L'].isin([0,1,2]))]
ang_sep_glass_par=[]
ang_sep_glass_perp=[]
print "Contributing Experiments", gl_low_l
for key in gl_low_l['key']:
    data = store.get(key)
    ang_sep,ang_bins=nn_distance_angle_seperation_ver_2(data,8,1)
    ang_sep_glass_par=list(ang_sep[0])+list(ang_sep[4])+ang_sep_glass_par
    ang_sep_glass_perp=list(ang_sep[2])+list(ang_sep[6])+ang_sep_glass_perp
um_conv=6.5/60/1.6/2
first_nn_sep_glass=plt.figure()
#ang_sep_glass=[ang_sep_glass_par,ang_sep_glass_perp]
#ang_sep_conv=ang_sep*um_conv
labels=['Parellel','Perpendicular']
n_par,b_par,p_par=plt.hist(np.array(ang_sep_glass_par)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][0],range=(0,3),normed=True,histtype='step',label=labels[0])
n_perp,b_perp,p_perp=plt.hist(np.array(ang_sep_glass_perp)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][1],range=(0,3),normed=True,histtype='step',label=labels[1])
plt.legend()
plt.xlabel('Seperation (um)')
plt.ylabel('Probability Density')
plt.title('First NN Seperation Over Glass Low L')
plt.show()
Contributing Experiments     L       date   experiment  mag_slider substrate  mov_index  \
29  0 2013-12-03  Exp12031301         1.6     glass          1   
30  1 2013-12-03  Exp12031301         1.6     glass          2   
31  2 2013-12-03  Exp12031301         1.6     glass          3   

                         key  
29  Exp12031301/Mov_12031301  
30  Exp12031301/Mov_12031302  
31  Exp12031301/Mov_12031303  
In [9]:
'''Over glass Mid L (L=3)'''
gl_mid_l = data_index[(data_index['substrate'] == 'glass') & (data_index['L'].isin([3]))]
ang_sep_glass_par=[]
ang_sep_glass_perp=[]
print "Contributing Experiments", gl_mid_l
for key in gl_mid_l['key']:
    data = store.get(key)
    if key == 'Exp12031301/Mov_12031311' or key == 'Exp12031301/Mov_12031312':
        data = filter_stuck_particle_at_top(data)
    if key == 'Exp12031301/Mov_12031304' or key == 'Exp12031301/Mov_12031305':
        data = filter_attached_particles(data, um_conv, 0.4)
    ang_sep,ang_bins=nn_distance_angle_seperation_ver_2(data,8,1)
    ang_sep_glass_par=list(ang_sep[0])+list(ang_sep[4])+ang_sep_glass_par
    ang_sep_glass_perp=list(ang_sep[2])+list(ang_sep[6])+ang_sep_glass_perp
um_conv=6.5/60/1.6/2
first_nn_sep_glass=plt.figure()
#ang_sep_glass=[ang_sep_glass_par,ang_sep_glass_perp]
#ang_sep_conv=ang_sep*um_conv
labels=['Parellel','Perpendicular']
n_par,b_par,p_par=plt.hist(np.array(ang_sep_glass_par)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][0],range=(0,3),normed=True,histtype='step',label=labels[0])
n_perp,b_perp,p_perp=plt.hist(np.array(ang_sep_glass_perp)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][1],range=(0,3),normed=True,histtype='step',label=labels[1])
plt.legend()
plt.xlabel('Seperation (um)')
plt.ylabel('Probability Density')
plt.title('First NN Seperation Over Glass Mid L')
plt.show()
Contributing Experiments     L       date   experiment  mag_slider substrate  mov_index  \
32  3 2013-12-03  Exp12031301         1.6     glass          4   

                         key  
32  Exp12031301/Mov_12031304  
C:\Anaconda\lib\site-packages\ipykernel\__main__.py:14: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)
In [10]:
'''Over glass High L (L=4-6)'''
gl_high_l = data_index[(data_index['substrate'] == 'glass') & (data_index['L'].isin([4,5,6]))]
ang_sep_glass_par=[]
ang_sep_glass_perp=[]
print "Contributing Experiments", gl_high_l
for key in gl_high_l['key']:
    data = store.get(key)
    if key == 'Exp12031301/Mov_12031311' or key == 'Exp12031301/Mov_12031312':
        data = filter_stuck_particle_at_top(data)
    if key == 'Exp12031301/Mov_12031304' or key == 'Exp12031301/Mov_12031305':
        data = filter_attached_particles(data, um_conv, 0.4)
    ang_sep,ang_bins=nn_distance_angle_seperation_ver_2(data,8,1)
    ang_sep_glass_par=list(ang_sep[0])+list(ang_sep[4])+ang_sep_glass_par
    ang_sep_glass_perp=list(ang_sep[2])+list(ang_sep[6])+ang_sep_glass_perp
um_conv=6.5/60/1.6/2
first_nn_sep_glass=plt.figure()
#ang_sep_glass=[ang_sep_glass_par,ang_sep_glass_perp]
#ang_sep_conv=ang_sep*um_conv
labels=['Parellel','Perpendicular']
n_par,b_par,p_par=plt.hist(np.array(ang_sep_glass_par)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][0],range=(0,3),normed=True,histtype='step',label=labels[0])
n_perp,b_perp,p_perp=plt.hist(np.array(ang_sep_glass_perp)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][1],range=(0,3),normed=True,histtype='step',label=labels[1])
plt.legend()
plt.xlabel('Seperation (um)')
plt.ylabel('Probability Density')
plt.title('First NN Seperation Over Glass High L')
plt.show()
Contributing Experiments     L       date   experiment  mag_slider substrate  mov_index  \
33  4 2013-12-03  Exp12031301         1.6     glass          5   
34  5 2013-12-03  Exp12031301         1.6     glass          6   
35  6 2013-12-03  Exp12031301         1.6     glass          7   

                         key  
33  Exp12031301/Mov_12031305  
34  Exp12031301/Mov_12031306  
35  Exp12031301/Mov_12031307  
C:\Anaconda\lib\site-packages\ipykernel\__main__.py:14: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)
In [11]:
'''Over plate Low L (L=0-2)'''
pl_low_l = data_index[(data_index['substrate'] == 'plate') & (data_index['L'].isin([0,1,2]))]
pl_low_l = pl_low_l[pl_low_l.key != 'Exp12031301/Mov_12031309']
ang_sep_glass_par=[]
ang_sep_glass_perp=[]
print "Contributing Experiments", pl_low_l
for key in pl_low_l['key']:
    data = store.get(key)
    if key == 'Exp12031301/Mov_12031311' or key == 'Exp12031301/Mov_12031312':
        data = filter_stuck_particle_at_top(data)
    if key == 'Exp12031301/Mov_12031304' or key == 'Exp12031301/Mov_12031305':
        data = filter_attached_particles(data, um_conv, 0.4)
    ang_sep,ang_bins=nn_distance_angle_seperation_ver_2(data,8,1)
    ang_sep_glass_par=list(ang_sep[0])+list(ang_sep[4])+ang_sep_glass_par
    ang_sep_glass_perp=list(ang_sep[2])+list(ang_sep[6])+ang_sep_glass_perp
um_conv=6.5/60/1.6/2
first_nn_sep_glass=plt.figure()
#ang_sep_glass=[ang_sep_glass_par,ang_sep_glass_perp]
#ang_sep_conv=ang_sep*um_conv
labels=['Parellel','Perpendicular']
n_par,b_par,p_par=plt.hist(np.array(ang_sep_glass_par)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][0],range=(0,3),normed=True,histtype='step',label=labels[0])
n_perp,b_perp,p_perp=plt.hist(np.array(ang_sep_glass_perp)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][1],range=(0,3),normed=True,histtype='step',label=labels[1])
plt.legend()
plt.xlabel('Seperation (um)')
plt.ylabel('Probability Density')
plt.title('First NN Seperation Over Plate Low L')
plt.show()
Contributing Experiments     L       date   experiment  mag_slider substrate  mov_index  \
26  2 2013-11-20  Exp11201301         1.6     plate         12   
27  1 2013-11-20  Exp11201301         1.6     plate         13   
36  1 2013-12-03  Exp12031301         1.6     plate          8   

                         key  
26  Exp11201301/Mov_11201312  
27  Exp11201301/Mov_11201313  
36  Exp12031301/Mov_12031308  
In [12]:
'''Over plate Low L (L=3)'''
pl_mid_l = data_index[(data_index['substrate'] == 'plate') & (data_index['L'].isin([3]))]
pl_mid_l = pl_mid_l[pl_mid_l.key != 'Exp12031301/Mov_12031311']
ang_sep_glass_par=[]
ang_sep_glass_perp=[]
print "Contributing Experiments", pl_mid_l
for key in pl_mid_l['key']:
    data = store.get(key)
    if key == 'Exp12031301/Mov_12031311' or key == 'Exp12031301/Mov_12031312':
        data = filter_stuck_particle_at_top(data)
    if key == 'Exp12031301/Mov_12031304' or key == 'Exp12031301/Mov_12031305':
        data = filter_attached_particles(data, um_conv, 0.4)
    ang_sep,ang_bins=nn_distance_angle_seperation_ver_2(data,8,1)
    ang_sep_glass_par=list(ang_sep[0])+list(ang_sep[4])+ang_sep_glass_par
    ang_sep_glass_perp=list(ang_sep[2])+list(ang_sep[6])+ang_sep_glass_perp
um_conv=6.5/60/1.6/2
first_nn_sep_glass=plt.figure()
#ang_sep_glass=[ang_sep_glass_par,ang_sep_glass_perp]
#ang_sep_conv=ang_sep*um_conv
labels=['Parellel','Perpendicular']
n_par,b_par,p_par=plt.hist(np.array(ang_sep_glass_par)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][0],range=(0,3),normed=True,histtype='step',label=labels[0])
n_perp,b_perp,p_perp=plt.hist(np.array(ang_sep_glass_perp)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][1],range=(0,3),normed=True,histtype='step',label=labels[1])
plt.legend()
plt.xlabel('Seperation (um)')
plt.ylabel('Probability Density')
plt.title('First NN Seperation Over Plate Mid L')
plt.show()
Contributing Experiments     L       date   experiment  mag_slider substrate  mov_index  \
24  3 2013-11-20  Exp11201301         1.6     plate         10   
25  3 2013-11-20  Exp11201301         1.6     plate         11   
38  3 2013-12-03  Exp12031301         1.6     plate         10   

                         key  
24  Exp11201301/Mov_11201310  
25  Exp11201301/Mov_11201311  
38  Exp12031301/Mov_12031310  
In [13]:
'''Over plate High L (L=4,5)'''
pl_high_l = data_index[(data_index['substrate'] == 'plate') & (data_index['L'].isin([4,5,6]))]
#pl_high_l = pl_high_l[pl_high_l.key != 'Exp12031301/Mov_12031311']
print pl_high_l
ang_sep_glass_par=[]
ang_sep_glass_perp=[]
print "Contributing Experiments", pl_high_l
for key in pl_high_l['key']:
    data = store.get(key)
    if key == 'Exp12031301/Mov_12031311' or key == 'Exp12031301/Mov_12031312':
        data = filter_stuck_particle_at_top(data)
    if key == 'Exp12031301/Mov_12031304' or key == 'Exp12031301/Mov_12031305':
        data = filter_attached_particles(data, um_conv, 0.4)
    ang_sep,ang_bins=nn_distance_angle_seperation_ver_2(data,8,1)
    ang_sep_glass_par=list(ang_sep[0])+list(ang_sep[4])+ang_sep_glass_par
    ang_sep_glass_perp=list(ang_sep[2])+list(ang_sep[6])+ang_sep_glass_perp
um_conv=6.5/60/1.6/2
first_nn_sep_glass=plt.figure()
#ang_sep_glass=[ang_sep_glass_par,ang_sep_glass_perp]
#ang_sep_conv=ang_sep*um_conv
labels=['Parellel','Perpendicular']
n_par,b_par,p_par=plt.hist(np.array(ang_sep_glass_par)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][0],range=(0,3),normed=True,histtype='step',label=labels[0])
n_perp,b_perp,p_perp=plt.hist(np.array(ang_sep_glass_perp)*um_conv ,bins=100,color=["#C44E52","#4C72B0"][1],range=(0,3),normed=True,histtype='step',label=labels[1])
plt.legend()
plt.xlabel('Seperation (um)')
plt.ylabel('Probability Density')
plt.title('First NN Seperation Over Plate High L')
plt.show()
    L       date   experiment  mag_slider substrate  mov_index  \
28  5 2013-11-20  Exp11201301         1.6     plate         14   
40  4 2013-12-03  Exp12031301         1.6     plate         12   

                         key  
28  Exp11201301/Mov_11201314  
40  Exp12031301/Mov_12031312  
Contributing Experiments     L       date   experiment  mag_slider substrate  mov_index  \
28  5 2013-11-20  Exp11201301         1.6     plate         14   
40  4 2013-12-03  Exp12031301         1.6     plate         12   

                         key  
28  Exp11201301/Mov_11201314  
40  Exp12031301/Mov_12031312  
In [14]:
'''All Over Glass Data Aggregated'''
gl_all_l = pd.concat([gl_low_l, gl_mid_l, gl_high_l])
ang_sep_glass_par=[]
ang_sep_glass_perp=[]
print "Contributing Experiments", gl_all_l
for key in gl_all_l['key']:
    data = store.get(key)
    if key == 'Exp12031301/Mov_12031311' or key == 'Exp12031301/Mov_12031312':
        data = filter_stuck_particle_at_top(data)
    if key == 'Exp12031301/Mov_12031304' or key == 'Exp12031301/Mov_12031305':
        data = filter_attached_particles(data, um_conv, 0.4)
    ang_sep,ang_bins=nn_distance_angle_seperation_ver_2(data,8,1)
    ang_sep_glass_par=list(ang_sep[0])+list(ang_sep[4])+ang_sep_glass_par
    ang_sep_glass_perp=list(ang_sep[2])+list(ang_sep[6])+ang_sep_glass_perp
um_conv=6.5/60/1.6/2
first_nn_sep_glass=plt.figure()
#ang_sep_glass=[ang_sep_glass_par,ang_sep_glass_perp]
#ang_sep_conv=ang_sep*um_conv
labels=['Parellel','Perpendicular']
n_par,b_par,p_par=plt.hist(np.array(ang_sep_glass_par)*um_conv ,bins=100,color=['#162234','#4C72B0'][1],range=(0,3),normed=True,histtype='step',label=labels[0])
n_perp,b_perp,p_perp=plt.hist(np.array(ang_sep_glass_perp)*um_conv ,bins=100,color=['#162234','#4C72B0'][0],range=(0,3),normed=True,histtype='step',label=labels[1])
plt.legend()
plt.xlabel('Seperation (um)')
plt.ylabel('Probability Density')
plt.title('First NN Seperation Over Glass All Ls')
plt.show()
Contributing Experiments     L       date   experiment  mag_slider substrate  mov_index  \
29  0 2013-12-03  Exp12031301         1.6     glass          1   
30  1 2013-12-03  Exp12031301         1.6     glass          2   
31  2 2013-12-03  Exp12031301         1.6     glass          3   
32  3 2013-12-03  Exp12031301         1.6     glass          4   
33  4 2013-12-03  Exp12031301         1.6     glass          5   
34  5 2013-12-03  Exp12031301         1.6     glass          6   
35  6 2013-12-03  Exp12031301         1.6     glass          7   

                         key  
29  Exp12031301/Mov_12031301  
30  Exp12031301/Mov_12031302  
31  Exp12031301/Mov_12031303  
32  Exp12031301/Mov_12031304  
33  Exp12031301/Mov_12031305  
34  Exp12031301/Mov_12031306  
35  Exp12031301/Mov_12031307  
C:\Anaconda\lib\site-packages\ipykernel\__main__.py:14: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)
In [15]:
'''All Over Plate Data Aggregated'''
pl_all_l = pd.concat([pl_low_l, pl_mid_l, pl_high_l])
ang_sep_glass_par=[]
ang_sep_glass_perp=[]
print "Contributing Experiments", pl_all_l
for key in pl_all_l['key']:
    data = store.get(key)
    if key == 'Exp12031301/Mov_12031311' or key == 'Exp12031301/Mov_12031312':
        data = filter_stuck_particle_at_top(data)
    if key == 'Exp12031301/Mov_12031304' or key == 'Exp12031301/Mov_12031305':
        data = filter_attached_particles(data, um_conv, 0.4)
    ang_sep,ang_bins=nn_distance_angle_seperation_ver_2(data,8,1)
    ang_sep_glass_par=list(ang_sep[0])+list(ang_sep[4])+ang_sep_glass_par
    ang_sep_glass_perp=list(ang_sep[2])+list(ang_sep[6])+ang_sep_glass_perp
um_conv=6.5/60/1.6/2
first_nn_sep_glass=plt.figure()
#ang_sep_glass=[ang_sep_glass_par,ang_sep_glass_perp]
#ang_sep_conv=ang_sep*um_conv
labels=['Parellel','Perpendicular']
n_par,b_par,p_par=plt.hist(np.array(ang_sep_glass_par)*um_conv ,bins=100,color=['#551A12','#C44E52'][1],range=(0,3),normed=True,histtype='step',label=labels[0])
n_perp,b_perp,p_perp=plt.hist(np.array(ang_sep_glass_perp)*um_conv ,bins=100,color=['#551A12','#C44E52'][0],range=(0,3),normed=True,histtype='step',label=labels[1])
plt.legend()
plt.xlabel('Seperation (um)')
plt.ylabel('Probability Density')
plt.title('First NN Seperation Over Plate All Ls')
plt.show()
Contributing Experiments     L       date   experiment  mag_slider substrate  mov_index  \
26  2 2013-11-20  Exp11201301         1.6     plate         12   
27  1 2013-11-20  Exp11201301         1.6     plate         13   
36  1 2013-12-03  Exp12031301         1.6     plate          8   
24  3 2013-11-20  Exp11201301         1.6     plate         10   
25  3 2013-11-20  Exp11201301         1.6     plate         11   
38  3 2013-12-03  Exp12031301         1.6     plate         10   
28  5 2013-11-20  Exp11201301         1.6     plate         14   
40  4 2013-12-03  Exp12031301         1.6     plate         12   

                         key  
26  Exp11201301/Mov_11201312  
27  Exp11201301/Mov_11201313  
36  Exp12031301/Mov_12031308  
24  Exp11201301/Mov_11201310  
25  Exp11201301/Mov_11201311  
38  Exp12031301/Mov_12031310  
28  Exp11201301/Mov_11201314  
40  Exp12031301/Mov_12031312  
In [16]:
def plot_nn_hist_low_mid_high(expt_data_low_mid_high_index, data_base):
    glass = (expt_data_low_mid_high_index.substrate == 'glass').all()
    if glass==True:
        colors=['#162234','#4C72B0']
        colors=list(reversed(colors))
    if glass==False:
        colors=['#551A12','#C44E52']
        colors=list(reversed(colors))
    ang_sep_glass_par=[]
    ang_sep_glass_perp=[]
    um_conv=6.5/60/1.6/2
    for key in expt_data_low_mid_high_index['key']:
        data = store.get(key)
        if key == 'Exp12031301/Mov_12031311' or key == 'Exp12031301/Mov_12031312':
            data = filter_stuck_particle_at_top(data)
        if key == 'Exp12031301/Mov_12031304' or key == 'Exp12031301/Mov_12031305':
            data = filter_attached_particles(data, um_conv, 0.4)
        ang_sep,ang_bins=nn_distance_angle_seperation_ver_2(data,8,1)
        len_ang_sep=len(ang_sep)
        ang_sep_glass_par=list(ang_sep[0])+list(ang_sep[len_ang_sep/2])+ang_sep_glass_par
        ang_sep_glass_perp=list(ang_sep[len_ang_sep/4])+list(ang_sep[3*len_ang_sep/4])+ang_sep_glass_perp
    #ang_sep_glass=[ang_sep_glass_par,ang_sep_glass_perp]
    #ang_sep_conv=ang_sep*um_conv
    labels=['Parellel','Perpendicular']
    n_par,b_par,p_par=plt.hist(np.array(ang_sep_glass_par)*um_conv ,
                               bins=100,color=colors[0],
                               range=(0,3),normed=True,histtype='step',
                               label=labels[0],linewidth=3)
    n_perp,b_perp,p_perp=plt.hist(np.array(ang_sep_glass_perp)*um_conv ,
                                  bins=100,color=colors[1],
                                  range=(0,3),normed=True,histtype='step',
                                  label=labels[1])
    plt.xlabel('Seperation (um)')
    plt.ylabel('Probability Density')
    axes=plt.gca()
    axes.xaxis.labelpad=0
    axes.get_xaxis().set_major_locator(matplotlib.ticker.MaxNLocator(integer=True))
    axes.get_yaxis().set_major_locator(matplotlib.ticker.MaxNLocator(integer=True))
    return [np.array(ang_sep_glass_par)*um_conv, np.array(ang_sep_glass_perp)*um_conv]
In [17]:
low_mid_high_glass_plate_nn=plt.figure(figsize=[7,4])

# Over Glass All Ls
ax1=low_mid_high_glass_plate_nn.add_subplot(241)
data_gl_all_l = plot_nn_hist_low_mid_high(gl_all_l,store)

# Glass low Ls
ax1=low_mid_high_glass_plate_nn.add_subplot(242)
data_gl_low_l = plot_nn_hist_low_mid_high(gl_low_l,store)

# Glass mid Ls
ax3=low_mid_high_glass_plate_nn.add_subplot(243)
data_gl_mid_l = plot_nn_hist_low_mid_high(gl_mid_l,store)

# Glass high Ls
ax5=low_mid_high_glass_plate_nn.add_subplot(244)
data_gl_high_l = plot_nn_hist_low_mid_high(gl_high_l,store)

# Over Plate All Ls
ax1=low_mid_high_glass_plate_nn.add_subplot(245)
data_pl_all_l = plot_nn_hist_low_mid_high(pl_all_l,store)

# Plate low Ls
ax2=low_mid_high_glass_plate_nn.add_subplot(246)
data_pl_low_l = plot_nn_hist_low_mid_high(pl_low_l,store)

# Plate mid Ls
ax4=low_mid_high_glass_plate_nn.add_subplot(247)
data_pl_mid_l = plot_nn_hist_low_mid_high(pl_mid_l,store)

# Plate high Ls
ax6=low_mid_high_glass_plate_nn.add_subplot(248)
data_pl_high_l = plot_nn_hist_low_mid_high(pl_high_l,store)

plt.tight_layout()
plt.subplots_adjust(wspace= 0.3, hspace= 0.3)
C:\Anaconda\lib\site-packages\ipykernel\__main__.py:14: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)
In [18]:
def plot_par_and_per_nn_hist_just_data(par_and_perp_list, glass=True):
    '''par_and_perp_list features the parallel data first and the perpendicular
    data second'''
    if glass==True:
        colors=['#162234','#4C72B0']
        colors=list(reversed(colors))
    if glass==False:
        colors=['#551A12','#C44E52']
        colors=list(reversed(colors))
    n_par,b_par,p_par=plt.hist(par_and_perp_list[0] ,
                               bins=100,color=colors[0],
                               range=(0,3),normed=True,histtype='step',
                               label=labels[0],linewidth=3)
    n_perp,b_perp,p_perp=plt.hist(par_and_perp_list[1] ,
                                  bins=100,color=colors[1],
                                  range=(0,3),normed=True,histtype='step',
                                  label=labels[1])
    plt.xlabel('Seperation (um)')
    plt.ylabel('Probability Density')
    axes=plt.gca()
    axes.xaxis.labelpad=0
    axes.get_xaxis().set_major_locator(matplotlib.ticker.MaxNLocator(integer=True))
    axes.get_yaxis().set_major_locator(matplotlib.ticker.MaxNLocator(integer=True))
In [19]:
low_mid_high_glass_plate_nn=plt.figure(figsize=[8,4])

# Over Glass All Ls
ax1=low_mid_high_glass_plate_nn.add_subplot(241)
plot_par_and_per_nn_hist_just_data(data_gl_all_l)

# Glass low Ls
ax2=low_mid_high_glass_plate_nn.add_subplot(242)
plot_par_and_per_nn_hist_just_data(data_gl_low_l)

# Glass mid Ls
ax3=low_mid_high_glass_plate_nn.add_subplot(243)
plot_par_and_per_nn_hist_just_data(data_gl_mid_l)

# Glass high Ls
ax4=low_mid_high_glass_plate_nn.add_subplot(244)
plot_par_and_per_nn_hist_just_data(data_gl_high_l)

# Over Plate All Ls
ax5=low_mid_high_glass_plate_nn.add_subplot(245)
plot_par_and_per_nn_hist_just_data(data_pl_all_l, glass=False)

# Plate low Ls
ax6=low_mid_high_glass_plate_nn.add_subplot(246)
plot_par_and_per_nn_hist_just_data(data_pl_low_l, glass=False)

# Plate mid Ls
ax7=low_mid_high_glass_plate_nn.add_subplot(247)
plot_par_and_per_nn_hist_just_data(data_pl_mid_l, glass=False)

# Plate high Ls
ax8=low_mid_high_glass_plate_nn.add_subplot(248)
plot_par_and_per_nn_hist_just_data(data_pl_high_l, glass=False)

plt.tight_layout()
plt.subplots_adjust(wspace= 0.3, hspace= 0.3)
In [20]:
import re
import cPickle
In [21]:
%%javascript
var nb = IPython.notebook;
var kernel = IPython.notebook.kernel;
var command = "NOTEBOOK_FULL_PATH = '" + nb.base_url + nb.notebook_path + "'";
kernel.execute(command);
<IPython.core.display.Javascript object>
In [22]:
NOTEBOOK_FULL_PATH = "/Dynamical Phase Transition/Ana_15102801 - First NN of Expt 11201301 and 12031301 grouped L's cleanup.ipynb"
In [23]:
def notebook_title_info(notebook_full_path):
    import re
    notebook_name = os.path.split(notebook_full_path)[-1]
    serial_number = re.search('(Ana_.* - )', notebook_name)
    serial_number = serial_number.groups()[0][:-3]
    subtitle = re.search('( - .*)', notebook_name)
    subtitle = subtitle.groups()[0][3:]
    return [notebook_name, serial_number, subtitle]
In [24]:
os.chdir('C:\Users\Scherer Lab E\Box Sync\Ring\Figure Data and Scripts\Data')
f = open('Fig_6.pkl', 'w')
notebook_info = notebook_title_info(NOTEBOOK_FULL_PATH)
data = [notebook_info, data_gl_all_l, data_gl_low_l, data_gl_mid_l, data_gl_high_l,
       data_pl_all_l, data_pl_low_l, data_pl_mid_l, data_pl_high_l]
cPickle.dump(data, f)
f.close()